<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="cache-control" content="no-cache">
<title>convert.h File Reference</title>
<link href="doxygen_tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="doxygen_content.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="top">
 <div id="titlearea">
  <table height="72px" width="100%" cellspacing="0" cellpadding="0">
   <tbody>
    <tr>
     <td width="10%">&nbsp;</td>
     <td><a href="https://github.com/Genivia/RE-flex"><img src="reflex-logo.png"/></a></td>
     <td>
      <div style="float: right; font-size: 18px; font-weight: bold;">convert.h File Reference</div>
      <br>
      <div style="float: right; font-size: 10px;">updated Thu May 14 2020 by Robert van Engelen</div>
     </td>
     <td width="10%">&nbsp;</td>
    </tr>
   </tbody>
  </table>
 </div>
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_bb8a7beb94a1b7afd52842cbf47ddd3e.html">reflex</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">convert.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>RE/flex regex converter.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;<a class="el" href="error_8h.html">reflex/error.h</a>&gt;</code><br />
<code>#include &lt;string&gt;</code><br />
<code>#include &lt;map&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for convert.h:</div>
<div class="dyncontent">
<div class="center"><img src="convert_8h__incl.png" border="0" usemap="#convert_8h" alt=""/></div>
<map name="convert_8h" id="convert_8h">
<area shape="rect" id="node2" href="error_8h.html" title="RE/flex regex errors. " alt="" coords="5,80,103,107"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="convert_8h__dep__incl.png" border="0" usemap="#convert_8hdep" alt=""/></div>
<map name="convert_8hdep" id="convert_8hdep">
<area shape="rect" id="node2" href="absmatcher_8h.html" title="RE/flex abstract matcher base class and pattern matcher class. " alt="" coords="301,80,404,107"/>
<area shape="rect" id="node9" href="reflex_8h.html" title="RE/flex scanner generator replacement for Flex/Lex. " alt="" coords="527,80,592,107"/>
<area shape="rect" id="node3" href="abslexer_8h.html" title="RE/flex abstract lexer base class for reflex&#45;generated scanners. " alt="" coords="5,155,89,181"/>
<area shape="rect" id="node5" href="boostmatcher_8h.html" title="Boost::regex&#45;based matcher engines for pattern matching. " alt="" coords="113,155,227,181"/>
<area shape="rect" id="node6" href="matcher_8h.html" title="RE/flex matcher engine. " alt="" coords="251,155,332,181"/>
<area shape="rect" id="node7" href="pcre2matcher_8h.html" title="PCRE2&#45;based matcher engines for pattern matching. " alt="" coords="357,155,471,181"/>
<area shape="rect" id="node8" href="stdmatcher_8h.html" title="C++11 std::regex&#45;based matcher engines for pattern matching. " alt="" coords="495,155,594,181"/>
<area shape="rect" id="node4" href="flexlexer_8h.html" title="RE/flex Flex&#45;compatible FlexLexer base class and Lex/Flex&#45;compatible macros. " alt="" coords="6,229,89,256"/>
<area shape="rect" id="node10" href="reflex_8cpp.html" title="RE/flex scanner generator replacement for Flex/Lex. " alt="" coords="618,155,698,181"/>
</map>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacereflex"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex.html">reflex</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacereflex_1_1convert__flag"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html">reflex::convert_flag</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ab659f1b759d66631c2e2e32771af1200"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex.html#ab659f1b759d66631c2e2e32771af1200">reflex::convert_flag_type</a></td></tr>
<tr class="memdesc:ab659f1b759d66631c2e2e32771af1200"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conversion flags for <a class="el" href="namespacereflex.html#a794c59aedcee591fca830db0f2e62212" title="Returns the converted regex string given a regex library signature and conversion flags...">reflex::convert</a>.  <a href="namespacereflex.html#ab659f1b759d66631c2e2e32771af1200">More...</a><br /></td></tr>
<tr class="separator:ab659f1b759d66631c2e2e32771af1200"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a794c59aedcee591fca830db0f2e62212"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex.html#a794c59aedcee591fca830db0f2e62212">reflex::convert</a> (const char *pattern, const char *signature, convert_flag_type flags=convert_flag::none, const std::map&lt; std::string, std::string &gt; *macros=NULL)</td></tr>
<tr class="memdesc:a794c59aedcee591fca830db0f2e62212"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the converted regex string given a regex library signature and conversion flags, throws <a class="el" href="classreflex_1_1regex__error.html" title="Regex syntax error exceptions. ">regex_error</a>.  <a href="namespacereflex.html#a794c59aedcee591fca830db0f2e62212">More...</a><br /></td></tr>
<tr class="separator:a794c59aedcee591fca830db0f2e62212"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa303caed5382f8e85ae90061a2bc7163"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex.html#aa303caed5382f8e85ae90061a2bc7163">reflex::convert</a> (const std::string &amp;pattern, const char *signature, convert_flag_type flags=convert_flag::none, const std::map&lt; std::string, std::string &gt; *macros=NULL)</td></tr>
<tr class="separator:aa303caed5382f8e85ae90061a2bc7163"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:af5c6fe22fc79bb893e135d583d525930"><td class="memItemLeft" align="right" valign="top">const convert_flag_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html#af5c6fe22fc79bb893e135d583d525930">reflex::convert_flag::none</a> = 0x0000</td></tr>
<tr class="memdesc:af5c6fe22fc79bb893e135d583d525930"><td class="mdescLeft">&#160;</td><td class="mdescRight">no conversion (default)  <a href="namespacereflex_1_1convert__flag.html#af5c6fe22fc79bb893e135d583d525930">More...</a><br /></td></tr>
<tr class="separator:af5c6fe22fc79bb893e135d583d525930"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9e0ae7e5abd19e8499a638e8dfff5d3"><td class="memItemLeft" align="right" valign="top">const convert_flag_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html#ae9e0ae7e5abd19e8499a638e8dfff5d3">reflex::convert_flag::basic</a> = 0x0001</td></tr>
<tr class="memdesc:ae9e0ae7e5abd19e8499a638e8dfff5d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert basic regex (BRE) to extended regex (ERE)  <a href="namespacereflex_1_1convert__flag.html#ae9e0ae7e5abd19e8499a638e8dfff5d3">More...</a><br /></td></tr>
<tr class="separator:ae9e0ae7e5abd19e8499a638e8dfff5d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1c057a380f8673a13064c755652dc39"><td class="memItemLeft" align="right" valign="top">const convert_flag_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html#ab1c057a380f8673a13064c755652dc39">reflex::convert_flag::unicode</a> = 0x0002</td></tr>
<tr class="memdesc:ab1c057a380f8673a13064c755652dc39"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert . (dot), <code>\s</code>, <code>\w</code>, <code>\l</code>, <code>\u</code>, <code>\S</code>, <code>\W</code>, <code>\L</code>, <code>\U</code> to <a class="el" href="namespacereflex_1_1_unicode.html">Unicode</a>  <a href="namespacereflex_1_1convert__flag.html#ab1c057a380f8673a13064c755652dc39">More...</a><br /></td></tr>
<tr class="separator:ab1c057a380f8673a13064c755652dc39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f27c083368a4cb0d50b4a613adef897"><td class="memItemLeft" align="right" valign="top">const convert_flag_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html#a1f27c083368a4cb0d50b4a613adef897">reflex::convert_flag::recap</a> = 0x0004</td></tr>
<tr class="memdesc:a1f27c083368a4cb0d50b4a613adef897"><td class="mdescLeft">&#160;</td><td class="mdescRight">remove capturing groups, add capturing groups to the top level  <a href="namespacereflex_1_1convert__flag.html#a1f27c083368a4cb0d50b4a613adef897">More...</a><br /></td></tr>
<tr class="separator:a1f27c083368a4cb0d50b4a613adef897"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7222821c0cc6579424c71c261e9b8805"><td class="memItemLeft" align="right" valign="top">const convert_flag_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html#a7222821c0cc6579424c71c261e9b8805">reflex::convert_flag::lex</a> = 0x0008</td></tr>
<tr class="memdesc:a7222821c0cc6579424c71c261e9b8805"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert Lex/Flex regular expression syntax  <a href="namespacereflex_1_1convert__flag.html#a7222821c0cc6579424c71c261e9b8805">More...</a><br /></td></tr>
<tr class="separator:a7222821c0cc6579424c71c261e9b8805"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e3e66422498b8e4c6fd7770393ea988"><td class="memItemLeft" align="right" valign="top">const convert_flag_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html#a1e3e66422498b8e4c6fd7770393ea988">reflex::convert_flag::u4</a> = 0x0010</td></tr>
<tr class="memdesc:a1e3e66422498b8e4c6fd7770393ea988"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert <code>\uXXXX</code> and UTF-16 surrogate pairs  <a href="namespacereflex_1_1convert__flag.html#a1e3e66422498b8e4c6fd7770393ea988">More...</a><br /></td></tr>
<tr class="separator:a1e3e66422498b8e4c6fd7770393ea988"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70281ca46dbef31569206d4c110c2308"><td class="memItemLeft" align="right" valign="top">const convert_flag_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html#a70281ca46dbef31569206d4c110c2308">reflex::convert_flag::anycase</a> = 0x0020</td></tr>
<tr class="memdesc:a70281ca46dbef31569206d4c110c2308"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert regex to ignore case, same as <code>(?i)</code>  <a href="namespacereflex_1_1convert__flag.html#a70281ca46dbef31569206d4c110c2308">More...</a><br /></td></tr>
<tr class="separator:a70281ca46dbef31569206d4c110c2308"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c4525aa454d95740eac25f4bd0934c7"><td class="memItemLeft" align="right" valign="top">const convert_flag_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html#a3c4525aa454d95740eac25f4bd0934c7">reflex::convert_flag::multiline</a> = 0x0040</td></tr>
<tr class="memdesc:a3c4525aa454d95740eac25f4bd0934c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">regex with multiline anchors <code>^</code> and <code>$</code>, same as <code>(?m)</code>  <a href="namespacereflex_1_1convert__flag.html#a3c4525aa454d95740eac25f4bd0934c7">More...</a><br /></td></tr>
<tr class="separator:a3c4525aa454d95740eac25f4bd0934c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6a63c3a106c2dbcbad7b86797453f58"><td class="memItemLeft" align="right" valign="top">const convert_flag_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html#ab6a63c3a106c2dbcbad7b86797453f58">reflex::convert_flag::dotall</a> = 0x0080</td></tr>
<tr class="memdesc:ab6a63c3a106c2dbcbad7b86797453f58"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert <code>.</code> (dot) to match all, same as <code>(?s)</code>  <a href="namespacereflex_1_1convert__flag.html#ab6a63c3a106c2dbcbad7b86797453f58">More...</a><br /></td></tr>
<tr class="separator:ab6a63c3a106c2dbcbad7b86797453f58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32e4f47592b2442c814a32502365a8e3"><td class="memItemLeft" align="right" valign="top">const convert_flag_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html#a32e4f47592b2442c814a32502365a8e3">reflex::convert_flag::freespace</a> = 0x0100</td></tr>
<tr class="memdesc:a32e4f47592b2442c814a32502365a8e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert regex by removing spacing, same as <code>(?x)</code>  <a href="namespacereflex_1_1convert__flag.html#a32e4f47592b2442c814a32502365a8e3">More...</a><br /></td></tr>
<tr class="separator:a32e4f47592b2442c814a32502365a8e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaed1f496284028394303d24be3e7bbb9"><td class="memItemLeft" align="right" valign="top">const convert_flag_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html#aaed1f496284028394303d24be3e7bbb9">reflex::convert_flag::notnewline</a> = 0x0200</td></tr>
<tr class="memdesc:aaed1f496284028394303d24be3e7bbb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">inverted character classes do not match newline <code>\n</code>  <a href="namespacereflex_1_1convert__flag.html#aaed1f496284028394303d24be3e7bbb9">More...</a><br /></td></tr>
<tr class="separator:aaed1f496284028394303d24be3e7bbb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fcbe121a0a80ba46baa1a4b67b045df"><td class="memItemLeft" align="right" valign="top">const convert_flag_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacereflex_1_1convert__flag.html#a2fcbe121a0a80ba46baa1a4b67b045df">reflex::convert_flag::permissive</a> = 0x0400</td></tr>
<tr class="memdesc:a2fcbe121a0a80ba46baa1a4b67b045df"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert <a class="el" href="namespacereflex_1_1_unicode.html">Unicode</a> to compact UTF-8 patterns and DFA, permits some invalid UTF-8 sequences  <a href="namespacereflex_1_1convert__flag.html#a2fcbe121a0a80ba46baa1a4b67b045df">More...</a><br /></td></tr>
<tr class="separator:a2fcbe121a0a80ba46baa1a4b67b045df"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>RE/flex regex converter. </p>
<dl class="section author"><dt>Author</dt><dd>Robert van Engelen - <a href="#" onclick="location.href='mai'+'lto:'+'eng'+'el'+'en@'+'ge'+'niv'+'ia'+'.co'+'m'; return false;">engel<span style="display: none;">.nosp@m.</span>en@g<span style="display: none;">.nosp@m.</span>enivi<span style="display: none;">.nosp@m.</span>a.co<span style="display: none;">.nosp@m.</span>m</a> </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>(c) 2016-2020, Robert van Engelen, Genivia Inc. All rights reserved. </dd>
<dd>
(c) BSD-3 License - see LICENSE.txt </dd></dl>
</div></div><!-- contents -->
<hr class="footer">
<address class="footer"><small>
Converted on Thu May 14 2020 13:20:13 by <a target="_blank" href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.11</small></address>
<br>
<div style="height: 246px; background: #DBDBDB;">
</body>
</html>
